#!/usr/bin/env node

// 引入模块
const inquirer = require('inquirer')
const path = require('path')
const fs = require('fs')
const ejs = require('ejs')

// 引导用户输入
inquirer.prompt([
    {
        type: 'input',
        name: 'name',
        message: 'Please enter the project name'
    }
])
.then(res => {
    // 返回用户输入结果
    console.log(res)
    
    // 模板目录
    const templateUrl = path.join(__dirname, 'template');

    // 目标目录
    const distUrl = process.cwd()

    // 读取文件
    fs.readdir(templateUrl, (error, files) => {
        // 抛出异常
        if (error) {throw error}

        files.forEach(file => {

            // 文件绝对路径
            const absUrl = path.join(templateUrl, file)
            // ejs 渲染模板
            ejs.renderFile(absUrl, res, (error, success) => {

                  // 抛出异常
                  if (error) {throw error}
                    
                  // 写入文件
                  fs.writeFileSync(path.join(distUrl, file), success)

            })
        })

    })

})